﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

// +和-运算符
//int main()
//{
//	int x = 4 + 22;
//	int y = 61 - 23;
//	printf("%d\n", x);
//	printf("%d\n", y);
//	return 0;
//}

// *运算符
//int main()
//{
//	int num = 5;
//	printf("%d\n", num * num);
//	return 0;
//}

// /运算符
//int main()
//{
//	float x = 6 / 4;
//	int y = 6 / 4;
//	printf("%f\n", x);// 1.000000
//	printf("%d\n", y);// 1
//	return 0;
//}

//int main()
//{
//	float x = 6.0 / 4;
//	printf("%f\n", x);
//
//	return 0;
//}

#include <stdio.h>
//int main()
//{
//	int score = 5;
//	score = (score / 20) * 100;
//	printf("%d\n", score);// 0
//	return 0;
//}

//int main()
//{
//	int score = 5;
//	score = (score / 20.0) * 100;
//	printf("%d\n", score);// 25
//	return 0;
//}

// %运算符
//int main()
//{
//	int x = 6 % 4; // 2
//	printf("%d\n", x);
//	return 0;
//}

// 负数求模的规则是，结果的正负号由第⼀个运算数的正负号决定。
//int main()
//{
//	int x = 0;
//	printf("%d\n", 11 % -5);// 1
//	printf("%d\n", -11 % 5);// -1
//	printf("%d\n", -11 % -5);// -1
//
//	return 0;
//}

// 赋值操作符：= 和 复合赋值
// 连续赋值
//int main()
//{
//	int a = 3;
//	int b = 2;
//	int c = 1;
//	c = b = a + 3;
//	printf("%d\n", a);
//	printf("%d\n", b);
//	printf("%d\n", c);
//	return 0;
//}

// 复合赋值
//int main()
//{
//	int a = 10;
//	//a = a + 3;
//	a += 3;
//	printf("%d\n", a);// 13
//	return 0;
//}

// 单目操作符
// 前置++：先+1再使用
//int main()
//{
//	int a = 10;
//	int b = ++a;//++的操作数是a，是放在a前面的，就是前置++
//	printf("%d\n", a);// 11
//	printf("%d\n", b);// 11
//	return 0;
//}

// 后置++：先使用再+1
//int main()
//{
//	int a = 10;
//	int b = a++;//++的操作数是a，是放在a后面的，就是后置++
//	printf("%d\n", a);// 11
//	printf("%d\n", b);// 10
//	return 0;
//}

//前置--：先-1再使用
//int main()
//{
//	int a = 10;
//	int b = --a;//--的操作数是a，是放在a前面的，就是前置--
//	printf("%d\n", a);// 9
//	printf("%d\n", b);// 9
//	return 0;
//}

// 后置--：先使用再-1
//int main()
//{
//	int a = 10;
//	int b = a--;//--的操作数是a，是放在a后面的，就是后置--
//	printf("%d\n", a);// 9
//	printf("%d\n", b);// 10
//	return 0;
//}

// 运算符+对正负值没有影响，是⼀个完全可以省略的运算符，但是写了也不会报错。
// 运算符-⽤来改变⼀个值的正负号，负数的前⾯加上就会得到正数，正数的前⾯加上会得到负数。
//int main()
//{
//	int a = 10;
//	int b = -a;
//	int c = -10;
//	printf("b=%d c=%d\n", b, c);
//
//	return 0;
//}

// scanf和printf
// printf的使用

#include <stdio.h>

//int main(void)
//{
//	printf("Hello World");
//	return 0;
//}

//int main(void)
//{
//	printf("Hello\nWorld\n");
//	printf("Hello\n");
//	printf("World\n");
//	return 0;
//}

// 占位符
//int main()
//{
//	printf("There are %d apples\n", 3);
//	printf("%s will come tonight\n", "zhangsan");
//	return 0;
//}

// 输出文本里可以使用多个占位符
//int main()
//{
//	printf("%s says it is %d o'clock\n", "lisi", 21);
//	return 0;
//}

// 输出格式
// 限定宽度
//int main()
//{
//	printf("%5d\n", 123); //右对齐，输出为"  123"
//	printf("%-5d\n", 123); //左对齐，输出为"123  "
//	return 0;
//}

// 对于小数，这个限定符会限制所有数字的最小显示宽度
//int main()
//{
//	printf("%12f\n", 123.45);// 输出"  123.450000"
//	return 0;
//}

// 显示正负号
//int main()
//{
//	printf("%+d\n", 12);// 12
//	printf("%+d\n", -12);// -12
//	return 0;
//}

// 限定小数位数
//int main()
//{
//	printf("Number is %.2f\n", 0.5);// "0.50"
//	printf("Number is %6.2f\n", 0.5);// "  0.50"
//	return 0;
//}

// 最⼩宽度和⼩数位数这两个限定值，都可以⽤*代替，通过printf的参数传入
//int main()
//{
//	printf("%*.*f\n", 6, 2, 0.5);// "  0.50"
//	return 0;
//}

// 输出部分字符串
//int main()
//{
//	printf("%.5s\n", "hello world");// hello
//	return 0;
//}

// scanf输入
//int main()
//{
//	int score = 0;
//	printf("请输入成绩：");
//	scanf("%d", &score);
//	printf("成绩是：%d\n", score);
//	return 0;
//}

// 输入多个变量
//int main()
//{
//	int i = 0;
//	int j = 0;
//	float x = 0.0f;
//	float y = 0.0f;
//	scanf("%d%d%f%f", &i, &j, &x, &y);// 1 -20 3.4 -4.0e3
//	printf("%d\n", i);// 1
//	printf("%d\n", j);// -20
//	printf("%f\n", x);// 3.400000
//	printf("%f\n", y);// -4000.000000
//	return 0;
//}

// scanf读入机制
//int main()
//{
//	int x;
//	float y;
//
//	scanf("%d", &x);// 输入"    -13.45e12# 0"
//	printf("%d\n", x);// 解读到-13停止，输出：-13
//	scanf("%f", &y);// 从.处继续解读
//	printf("%f\n", y);// 解读到.45e12停止，输出：449999994880.000000
//	return 0;
//}

// scanf连续处理多个占位符
//int main()
//{
//	int x;
//	float y;
//
//	scanf("%d%f", &x, &y);
//	printf("%d\n", x);
//	printf("%f\n", y);
//	return 0;
//}

// scanf的返回值
//int main()
//{
//	int a = 0;
//	int b = 0;
//	float f = 0.0f;
//	int r = scanf("%d %d %f", &a, &b, &f);// 1 2 3.14
//	printf("a=%d b=%d f=%f\n", a, b, f);// a=1 b=2 f=3.140000
//	printf("r=%d", r);// r=3
//
//	return 0;
//}

//多组输入
//int main()
//{
//	int a = 0;
//	int b = 0;
//	while (scanf("%d %d", &a, &b) == 2)
//	{
//		int c = a + b;
//		printf("%d\n", c);
//	}
//	
//	/*
//	while (scanf("%d %d", &a, &b) != EOF)
//	{
//		int c = a + b;
//		printf("%d\n", c);
//	}
//	*/
//
//	return 0;
//}


// scanf占位符
//int main()
//{
//	int a = 10;
//	char ch = '0';
//	//scanf("%d", &a);
//	//printf("%d\n", a);
//
//	scanf("%c", &ch);
//	printf("%cxxxxx\n", ch);
//
//	return 0;
//}

//int main()
//{
//	char name[11];
//	scanf("%s", name);
//	printf("%s", name);
//	return 0;
//}

// 赋值忽略符
//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	int r = scanf("%d-%d-%d", &year, &month, &day);
//	printf("%d %d %d", year, month, day);
//	return 0;
//}

int main()
{
	int year = 0;
	int month = 0;
	int day = 0;
	int r = scanf("%d%*c%d%*c%d", &year, &month, &day);
	printf("%d %d %d", year, month, day);
	return 0;
}

